package com.itheima.d3_polymorphism;

public class Test {
    public static void main(String[] args) {
        //目标：搞清楚多态下的类型转换

        Animal a = new Dog();
        a.cry();
        //强制类型转换,可以解决多态下不能直接调用子类方法的问题
        Dog d1 = (Dog) a;
        d1.lookDoor();

        //强制类型转换的注意事项：
        //1.只要有继承或者实现关系的两个类，就可以强制转换
        //2.
        if (a instanceof Dog){
            Dog d2 = (Dog) a;
        }else if(a instanceof  Cat){
            Cat c2 = (Cat) a;
        }

    }

    public static void go(Animal c){
        System.out.println("开始。。。。。");
        c.cry();
        System.out.println("结束。。。。。");

    }
}
